/**
 * Provides the API for Lumis Portal module deployment.
 * <p>
 * A Lumis Portal module archive may have a deployment descriptor file
 * <em>META-INF/lumis-module.xml</em>. This file content is defined by the
 * <a href="../../../../xsd/module/index.html">def/lumis/portal/deployment/lumis-module.xsd</a>
 * file.
 * </p>
 * <p>
 * A {@link lumis.portal.deployment.ModuleType#JAR_LIBRARY} module type is
 * used to be able to perform hot deploy of classes to be used in the 
 * portal customization. In most portal configuration and definition files,
 * a class name reference, when is resolved, is searched along the JAR 
 * library modules installed in the portal. Such classes have visibility to other
 * classes in the same JAR file and to the classes in the portal application.
 * </p>
 * <p>
 * Note that classes in the packages <em>java</em>, <em>javax</em> and
 * <em>lumis</em> cannot be overridden by deploying a similar class in a 
 * JAR library.
 * </p>
 * <p>
 * Classes in the portal application have no direct visibility of the classes
 * deployed in a JAR library module. The deployed classes may be accessed
 * through reflection using the class loader provided by
 * {@link lumis.portal.deployment.IDeploymentManager#getClassLoader()}. 
 * Resources in the JAR library module may also be obtained using the provided 
 * class loader.
 * Note that references to the deployed classes or their instances should not
 * be stored, as it may keep the module in memory when it is undeployed,
 * possibly causing a memory leak.
 * </p>
 * <p>
 * The folder <em>lumisdata/deploy</em> is the auto-deploy folder. All module files
 * copied to this folder are automatically deployed and automatically undeployed
 * when removed. The result of the operation may be verified in the portal log 
 * files.
 * </p>
 * 
 * @since 5.0.0
 * @version $Revision: 12533 $ $Date: 2011-02-07 17:23:32 -0200 (Mon, 07 Feb 2011) $
 */
package lumis.portal.deployment;